home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wayzata's Best of Shareware PC/Windows 1
/
Wayzata's Best of Shareware for PC-Windows - Release 1 - Wayzata Technology (1993).iso
/
mac
/
DOS
/
PROGRAMG
/
GRAD
/
DERS2.FOR
< prev
next >
Wrap
Text File
|
1993-01-06
|
1KB
|
33 lines
C === Derivating with respect to:
C X Y Z
C
SUBROUTINE FP (X, Y, Z, F)
C == Fletcher and Powell, 1963 ==
IMPLICIT REAL*8 (A-H,O-Z)
PI = 3.14159
PI2 = 2 * PI
R_1=(X+X)/2./DSQRT(X*X+Y*Y)
R_2=(Y+Y)/2./DSQRT(X*X+Y*Y)
R = DSQRT(X*X + Y*Y)
IF (X .LT. 0) GO TO 10
THETA_1=(-Y/X)/X/(1.+(Y/X)**2)/PI2
C*** WARNING: New identifier THETA_1 too long ***
THETA_2=1./X/(1.+(Y/X)**2)/PI2
C*** WARNING: New identifier THETA_2 too long ***
THETA = DATAN(Y / X) / PI2
GO TO 20
10 CONTINUE
THETA_1=(-Y/X)/X/(1.+(Y/X)**2)/PI2
C*** WARNING: New identifier THETA_1 too long ***
THETA_2=1./X/(1.+(Y/X)**2)/PI2
C*** WARNING: New identifier THETA_2 too long ***
THETA = (PI + DATAN(Y / X)) / PI2
20 CONTINUE
F_1=100.*(2*(Z-10*THETA)**(2-1)*(-10*THETA_1)+2*(R-1)**(2-1)*R_1)
F_2=100.*(2*(Z-10*THETA)**(2-1)*(-10*THETA_2)+2*(R-1)**(2-1)*R_2)
F_3=100.*2*(Z-10*THETA)**(2-1)+Z+Z
F = 100. * ((Z - 10 * THETA)**2 +
: (R - 1)**2) + Z*Z
RETURN
END